; Suikoden II Chaco Bug/Two River Fix
; Written by Pyriel
;
; Fixes the issue with Chaco join at level 1, if you recruit
; him at a particular point in the script.
;

.psx
.openfile VH01.BIN, 0x8010DC50
.align 4

; Chaco Bug.  This is a raw byte script/event script.
; Maybe not the best way to patch, but it's closest
; to what is being looked at in the disassembly of the
; game.
.org 0x80110CD8
.area 0x80110DD0-.
.byte 0x49
.byte 0x14
.byte 0x28
.byte 0x00
.byte 0x00
.byte 0x02
.byte 0x03
.byte 0x6B
.byte 0x03
.byte 0x6C
.byte 0x29
.byte 0x02
.byte 0x00
.byte 0x01
.byte 0xFF
.byte 0x00
.byte 0x73		; Add command to set level
.byte 0x36		; Chaco
.byte 0x1D		; Level 29
.byte 0x54		; Send Chaco to Castle
.byte 0x36
.byte 0x1F		; End
.byte 0x54		; Send Ridley to Castle
.byte 0x75		
.byte 0x1F		; End
.byte 0x54		; Send Fitcher to Castle
.byte 0x58		
.byte 0x1F		; End
.byte 0x05		; Spin Hero
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x05
.byte 0x0F
.byte 0x1E		; End
.byte 0x65		; Play Recruit Sound
.byte 0x04
.byte 0x06
.byte 0x05
.byte 0x00
.byte 0x02
.byte 0x00
.byte 0x05
.byte 0x03
.byte 0x01
.byte 0x00
.byte 0x05
.byte 0x03
.byte 0x03
.byte 0x00
.byte 0x05
.byte 0x03
.byte 0x00
.byte 0x00
.byte 0x05
.byte 0x03
.byte 0x1E
.byte 0x59
.byte 0x00
.byte 0x02
.byte 0x08
.byte 0x59
.byte 0x00
.byte 0x05
.byte 0x59
.byte 0x00
.byte 0x05
.byte 0x49
.byte 0x0A
.byte 0x59
.byte 0x00
.byte 0x02
.byte 0x09
.byte 0x05
.byte 0x00
.byte 0x06
.byte 0x02
.byte 0x1E
.byte 0x59
.byte 0x00
.byte 0x02
.byte 0x0A
.byte 0x59
.byte 0x00
.byte 0x05
.byte 0x59
.byte 0x00
.byte 0x05
.byte 0x49
.byte 0x0A
.byte 0x1E
.byte 0x02
.byte 0x01
.byte 0x36
.byte 0x05
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x05
.byte 0x0F
.byte 0x03
.byte 0x00
.byte 0x1E
.byte 0x09
.byte 0x2D
.byte 0x01
.byte 0x09
.byte 0x2D
.byte 0x02
.byte 0x09
.byte 0x2D
.byte 0x20
.byte 0x09
.byte 0x2E
.byte 0x08
.byte 0x09
.byte 0x2E
.byte 0x01
.byte 0x09
.byte 0x2E
.byte 0x04
.byte 0x18
.byte 0x09
.byte 0x03
.byte 0x75
.byte 0x05
.byte 0x09
.byte 0x02
.byte 0x02
.byte 0x05
.byte 0x06
.byte 0x07
.byte 0x02
.byte 0x1E
.byte 0x65
.byte 0x04
.byte 0x06
.byte 0x1E
.byte 0x01
.byte 0x01
.byte 0x01
.byte 0x1B
.byte 0x40
.byte 0x50
.byte 0x18
.byte 0x01
.byte 0x05
.byte 0x06
.byte 0x18
.byte 0x01
.byte 0x03
.byte 0x70
.byte 0x03
.byte 0x09
.byte 0x00
.byte 0x18
.byte 0x09
.byte 0x03
.byte 0x71
.byte 0x2B
.byte 0x01
.byte 0x05
.byte 0x30
.byte 0x01
.byte 0x00
.byte 0x03
.byte 0x02
.byte 0x01
.byte 0x00
.byte 0x08
.byte 0x2E
.byte 0x2B
.byte 0x01
.byte 0x04
.byte 0x03
.byte 0x01
.byte 0x03
.byte 0x03
.byte 0x09
.byte 0x02
.byte 0x2F
.byte 0x18
.byte 0x01
.byte 0x03
.byte 0x72
.byte 0x18
.byte 0x09
.byte 0x03
.byte 0x73
.byte 0x24
.byte 0x20
.byte 0x18
.byte 0x01
.byte 0x03
.byte 0x74
.byte 0x2B
.byte 0x01
.byte 0x05
.byte 0x36
.byte 0x00
.byte 0x20
.byte 0x05
.byte 0x01
.byte 0x03
.byte 0x1C
.byte 0x1E
.byte 0x2B
.byte 0x01
.byte 0x04
.byte 0x45
.byte 0x01
.byte 0x0B
.byte 0x02
.byte 0x02
.byte 0x28
.byte 0x22
.byte 0x09
.byte 0xB6
.byte 0x01
.byte 0x3E
.byte 0x00
.byte 0x58
.byte 0x20
.byte 0x00
.byte 0x00
.byte 0xB1
.byte 0x51
.byte 0x0B
.byte 0x01
.byte 0x02
.byte 0x28
.byte 0xFF
.byte 0xFE
.byte 0xFF
.byte 0x01
.byte 0x18
.byte 0x09
.byte 0x03
.byte 0x78
.byte 0x03
.byte 0x01
.byte 0x03
.byte 0x25
.byte 0x08
.byte 0x24
.byte 0x10
.byte 0xFF
.byte 0xFE		; removed three bytes of air that were aligning this to a word boundary
.endarea
	
.close